package com.meshnetics.gb.stack.mac.type;

import com.meshnetics.gb.stack.core.StackStatus;

/**
 * The status enumeration, returned by all the confirms and MACCommStatusIndication.
 *
 * @author AKovylin
 */
public class MACStatus extends StackStatus {
    public static final MACStatus SUCCESS =
            new MACStatus(TypeMACStatus.TYPE, 0x00, "SUCCESS");
    public static final MACStatus PAN_AT_CAPACITY =
            new MACStatus(TypeMACStatus.TYPE, 0x01, "PAN_AT_CAPACITY");
    public static final MACStatus PAN_ACCESS_DENIED =
            new MACStatus(TypeMACStatus.TYPE, 0x02, "PAN_ACCESS_DENIED");
    public static final MACStatus BEACON_LOSS =
            new MACStatus(TypeMACStatus.TYPE, 0xe0, "BEACON_LOSS");
    public static final MACStatus CHANNEL_ACCESS_FAILURE =
            new MACStatus(TypeMACStatus.TYPE, 0xe1, "CHANNEL_ACCESS_FAILURE");
    public static final MACStatus DENIED =
            new MACStatus(TypeMACStatus.TYPE, 0xe2, "DENIED");
    public static final MACStatus DISABLE_TRX_FAILURE =
            new MACStatus(TypeMACStatus.TYPE, 0xe3, "DISABLE_TRX_FAILURE");
    public static final MACStatus FAILED_SECURITY_CHECK =
            new MACStatus(TypeMACStatus.TYPE, 0xe4, "FAILED_SECURITY_CHECK");
    public static final MACStatus FRAME_TOO_LONG =
            new MACStatus(TypeMACStatus.TYPE, 0xe5, "FRAME_TOO_LONG");
    public static final MACStatus INVALID_GTS =
            new MACStatus(TypeMACStatus.TYPE, 0xe6, "INVALID_GTS");
    public static final MACStatus INVALID_HANDLE =
            new MACStatus(TypeMACStatus.TYPE, 0xe7, "INVALID_HANDLE");
    public static final MACStatus INVALID_PARAMETER =
            new MACStatus(TypeMACStatus.TYPE, 0xe8, "INVALID_PARAMETER");
    public static final MACStatus NO_ACK =
            new MACStatus(TypeMACStatus.TYPE, 0xe9, "NO_ACK");
    public static final MACStatus NO_BEACON =
            new MACStatus(TypeMACStatus.TYPE, 0xea, "NO_BEACON");
    public static final MACStatus NO_DATA =
            new MACStatus(TypeMACStatus.TYPE, 0xeb, "NO_DATA");
    public static final MACStatus NO_SHORT_ADDRESS =
            new MACStatus(TypeMACStatus.TYPE, 0xec, "NO_SHORT_ADDRESS");
    public static final MACStatus OUT_OF_CAP =
            new MACStatus(TypeMACStatus.TYPE, 0xed, "OUT_OF_CAP");
    public static final MACStatus PAN_ID_CONFLICT =
            new MACStatus(TypeMACStatus.TYPE, 0xee, "PAN_ID_CONFLICT");
    public static final MACStatus REALIGNMENT =
            new MACStatus(TypeMACStatus.TYPE, 0xef, "REALIGNMENT");
    public static final MACStatus TRANSACTION_EXPIRED =
            new MACStatus(TypeMACStatus.TYPE, 0xf0, "TRANSACTION_EXPIRED");
    public static final MACStatus TRANSACTION_OVERFLOW =
            new MACStatus(TypeMACStatus.TYPE, 0xf1, "TRANSACTION_OVERFLOW");
    public static final MACStatus TX_ACTIVE =
            new MACStatus(TypeMACStatus.TYPE, 0xf2, "TX_ACTIVE");
    public static final MACStatus UNAVAILABLE_KEY =
            new MACStatus(TypeMACStatus.TYPE, 0xf3, "UNAVAILABLE_KEY");
    public static final MACStatus UNSUPPORTED_ATTRIBUTE =
            new MACStatus(TypeMACStatus.TYPE, 0xf4, "UNSUPPORTED_ATTRIBUTE");

    protected MACStatus(TypeMACStatus type, long value, String name) {
        super(type, value, name);
    }
}
